Es una característica que varía de un objeto o individuo a otro.En estadística, se distinguen tres tipos de variables Continuas, Discretas y Categóricas.
Variables continuas
Son aquellas que provienen de procesos que involucran mediciones.
Variables discretas
Son aquellas que provienen de procesos que involucran conteos.
Variables categóricas
Son aquellas que provienen de procesos que involucran clasificaciones.
Nominal
Este nivel se utiliza cuando los valores en los que se mide la variable son códigos que representan la pertenencia a una categoría.Ordinal
Se usa cuando los valores de una variable informan acerca de un orden o jerarquía.Variables tipo caracter
Por lo general se usan para representar nombres de individuos.
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 3.5.2
base <- read.csv("../Bases de datos/auto-mpg.csv",stringsAsFactors = F)
# stringsAsFactors = F <- Impide que las variables caracter se conviertan en factor
kable(head(base), "markdown")
No | mpg | cylinders | displacement | horsepower | weight | acceleration | model_year | car_name |
---|---|---|---|---|---|---|---|---|
1 | 28 | 4 | 140 | 90 | 2264 | 15.5 | 71 | chevrolet vega 2300 |
2 | 19 | 3 | 70 | 97 | 2330 | 13.5 | 72 | mazda rx2 coupe |
3 | 36 | 4 | 107 | 75 | 2205 | 14.5 | 82 | honda accord |
4 | 28 | 4 | 97 | 92 | 2288 | 17.0 | 72 | datsun 510 (sw) |
5 | 21 | 6 | 199 | 90 | 2648 | 15.0 | 70 | amc gremlin |
6 | 23 | 4 | 115 | 95 | 2694 | 15.0 | 75 | audi 100ls |
Podemos observar que la variable No no ofrece información importante a la hora de realizar un análisis de la base de datos por lo que recurrimos a eliminarla.
base$No <- NULL
# Conocer el tipo en que R ha tomado las variables
str(base)
## 'data.frame': 398 obs. of 8 variables:
## $ mpg : num 28 19 36 28 21 23 15.5 32.9 16 13 ...
## $ cylinders : int 4 3 4 4 6 4 8 4 6 8 ...
## $ displacement: num 140 70 107 97 199 115 304 119 250 318 ...
## $ horsepower : int 90 97 75 92 90 95 120 100 105 150 ...
## $ weight : int 2264 2330 2205 2288 2648 2694 3962 2615 3897 3755 ...
## $ acceleration: num 15.5 13.5 14.5 17 15 15 13.9 14.8 18.5 14 ...
## $ model_year : int 71 72 82 72 70 75 76 81 75 76 ...
## $ car_name : chr "chevrolet vega 2300" "mazda rx2 coupe" "honda accord" "datsun 510 (sw)" ...
La función str()
nos arroja información importante sobre la dimensión de la base de datos, los tipos de variables y algunas represenaciones de esta. Se debe resaltar que aunque R trata de ser lo mas inteligente posible se deben aplicar un poco de intuición sobre a que tipo pertenece cada variable y si lo inferido no coincide con lo aportado por R se debe modificar.
** Diccionario de representación**
int
Variable discretanum
Variable continuaFactor
Variable catrgoricachr
Variable tipo caracterAunque la variable cylinders
es tomada como tipo discreto nuestra intuición nos permite inferir que en reliadad esta representa una categoría, por lo que debemos recurrir a modificarla en R.
base$cylinders <- as.factor(base$cylinders)
# Funciona igual con los demas tipos de variables as.num(),as.int,...
str(base)
## 'data.frame': 398 obs. of 8 variables:
## $ mpg : num 28 19 36 28 21 23 15.5 32.9 16 13 ...
## $ cylinders : Factor w/ 5 levels "3","4","5","6",..: 2 1 2 2 4 2 5 2 4 5 ...
## $ displacement: num 140 70 107 97 199 115 304 119 250 318 ...
## $ horsepower : int 90 97 75 92 90 95 120 100 105 150 ...
## $ weight : int 2264 2330 2205 2288 2648 2694 3962 2615 3897 3755 ...
## $ acceleration: num 15.5 13.5 14.5 17 15 15 13.9 14.8 18.5 14 ...
## $ model_year : int 71 72 82 72 70 75 76 81 75 76 ...
## $ car_name : chr "chevrolet vega 2300" "mazda rx2 coupe" "honda accord" "datsun 510 (sw)" ...
En ocaciones resulta interesante recodificar algunas variables, lo cual puede hacerse de la siguiente manera.
base$cylinders <- factor(base$cylinders, levels = c("3", "4", "5", "6", "8"),labels = c("3Cylin", "4Cylin", "5Cylin", "6Cylin", "8Cylin"))
kable(head(base), "markdown")
mpg | cylinders | displacement | horsepower | weight | acceleration | model_year | car_name |
---|---|---|---|---|---|---|---|
28 | 4Cylin | 140 | 90 | 2264 | 15.5 | 71 | chevrolet vega 2300 |
19 | 3Cylin | 70 | 97 | 2330 | 13.5 | 72 | mazda rx2 coupe |
36 | 4Cylin | 107 | 75 | 2205 | 14.5 | 82 | honda accord |
28 | 4Cylin | 97 | 92 | 2288 | 17.0 | 72 | datsun 510 (sw) |
21 | 6Cylin | 199 | 90 | 2648 | 15.0 | 70 | amc gremlin |
23 | 4Cylin | 115 | 95 | 2694 | 15.0 | 75 | audi 100ls |